1. Field of the Invention
The present invention relates to cloud computing, and more particularly to a video client-server system, a client device, a video server, and a video processing device for achieving low latency cloud gaming.
2. Description of the Prior Art
Cloud computing is to use delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network (typically the Internet). There are a variety of applications based on the cloud computing, one of which is cloud gaming. Cloud gaming is a type of online gaming that allows direct and on-demand streaming of games onto a computer through the use of a thin client, in which the actual gaming program code and data are hosted on a gaming service provider's server. The game is streamed as compressed digital video and audio directly to the client over a broadband network. This allows the user to access games without the need of a game console and significantly reduces the cost of the hardware platform for an end user. When the user presses the button or inputs control commands, the user's input will be transmitted directly to the server, where they are recorded. Accordingly, the server sends back the gaming response corresponding to the user's input. With cloud gaming, gaming code processing and video rendering are done at server-side. Even though the user does not actually own a certain hardware platform, cloud gaming still allows the user to play game applications of different game platforms, such as PlayStation®, XBOX®, Wii®, PC, iOS®, Android®, and so on.
Unfortunately, there are some factors that limit cloud gaming, one of which is latency. Latency is a very important factor for cloud gaming, since some types of games endures very low latency, such as action game, racing game and sport game. For these games, low latency is absolutely necessary since the user has to exactly control the timings of gaming actions occurred in these games. If the user cannot instantly receive the gaming response due to latency, it may cause the user to perform poor timing control in the game, such that the user cannot do well in these games and will feel unsatisfied with the gaming result. Finally, the user will get a poor experience upon cloud gaming.
The latency may be affected by the network quality and/or processing time of the server side and/or the client side. Since cloud gaming streams the game graphic as digital compressed video, the processing time is also determined according to the time required to compress video in the server and decompress video in the client device. From this point of view, the video compression algorithms used for generating the compressed video stream plays an important role in cloud gaming. However, most of video compression algorithms have tradeoffs between high data rates and high latency. For example, a conventional H.264/MPEG-4 AVC algorithm may be able to generate a high quality compressed video stream with a relatively low data rate, but it inevitably raises the latency due to its complicated computation. On the contrary, Motion JPEG algorithm that has less complicated computations can lead to low latency, but it disadvantageously raises the data rate. High data date causes the network quality to be more important. However, since the network quality is mostly related to the Internet Service Provider (ISP), it will make the latency more unpredictable and uncontrollable. In view of above, a video compression technique that can effectively reduce the latency without disadvantageously raising the data rate is necessary for cloud gaming.